// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Descubre el emocionante mundo del casino en línea: ¡Juega en Haz Casino desde España! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Descubre el emocionante mundo del casino en línea: ¡Juega en Haz Casino desde España!

Aprende a jugar en Haz Casino: guía para principiantes en el casino en línea

1. Lo primero que debe hacer es crear una cuenta en Haz Casino, donde podrá disfrutar de una variedad de juegos de casino en línea.
2. Una vez que haya creado su cuenta, explore los diferentes juegos que ofrece el casino, como tragaperras, blackjack, ruleta y más.
3. Si es nuevo en los juegos de casino, le recomendamos que comience con juegos más simples, como las tragaperras.
4. Aprenda las reglas básicas de cada juego antes de jugar por dinero real. Muchos juegos de casino tienen versiones de demostración que puede usar para practicar.
5. Establezca un presupuesto antes de comenzar a jugar. Esto le ayudará a controlar sus gastos y a disfrutar del juego de manera responsable.
6. Tome ventaja de los bonos y promociones que ofrece Haz Casino. Estos regalos pueden ayudarlo a aumentar su bankroll y a mejorar su experiencia de juego.
7. Asegúrese de leer y comprender los términos y condiciones de cada bono antes de aceptarlo.
8. Recuerde divertirse y disfrutar del juego. Después de todo, eso es lo más importante en el casino en línea.
Descubre el emocionante mundo del casino en línea: ¡Juega en Haz Casino desde España!

Los juegos de casino más populares en Haz Casino: ¡descúbrelos!

1. La ruleta es uno de los juegos de casino más emocionantes y populares en Haz Casino. Ofrecen diferentes versiones como la ruleta europea y la ruleta americana.
2. El blackjack es otro juego de cartas clásico que siempre está en la cima de la lista de juegos populares en Haz Casino. Aquí puedes jugar diferentes versiones de blackjack y probar tu suerte.
3. El póker es otro juego de cartas popular en Haz Casino. Puedes elegir entre diferentes variantes, como el vídeo póker y el póker en vivo con crupieres reales.
4. Los fanáticos de las máquinas tragamonedas también encontrarán una amplia variedad de opciones en Haz Casino. Ofrecen máquinas tragamonedas clásicas y modernas con diferentes temas y botes progresivos.
5. La bacará es un juego de cartas fascinante que está ganando popularidad en Haz Casino. Aquí puedes jugar diferentes versiones de bacará y ver cómo tus decisiones influyen en el resultado.
6. El bingo también es un juego popular en Haz Casino. Puedes jugar diferentes versiones de bingo y socializar con otros jugadores mientras disfrutas de tu tiempo de juego.
7. El keno es un juego de lotería popular en Haz Casino. Puedes elegir tus números favoritos y ver si tienes suerte en el sorteo.
8. Por último, pero no menos importante, los juegos de dados también son populares en Haz Casino. Puedes jugar diferentes versiones de dados y ver cómo tus decisiones afectan el resultado final.

¿Es seguro jugar en Haz Casino en España? Todo lo que necesitas saber

Si estás buscando información sobre la seguridad de jugar en Haz Casino en España, has venido al lugar correcto. A continuación, encontrarás todo lo que necesitas saber:
1. Licencia: Haz Casino opera en España bajo la licencia de la Dirección General de Ordenación del Juego , lo que garantiza que cumple con todas las normativas y regulaciones del país.
2. Juego justo: el casino utiliza un generador de números aleatorios certificado, asegurando que el resultado de cada juego sea justo e impredecible.
3. Protección de datos: Haz Casino cumple con las normas de protección de datos de la Unión Europea, garantizando la seguridad y confidencialidad de tus datos personales y financieros.
4. Transacciones seguras: el casino ofrece diferentes métodos de pago seguros y confiables, como tarjetas de crédito, débito, monederos electrónicos y transferencias bancarias.
5. Atención al cliente: el servicio de atención al cliente de Haz Casino está disponible 24/7, ofreciendo soporte en español y resolviendo cualquier duda o problema que puedas tener.
6. Programa de fidelidad: el casino premia a sus jugadores más leales con beneficios exclusivos, como bonos, promociones y recompensas en efectivo.
7. Juegos responsables: Haz Casino promueve el juego responsable y ofrece herramientas y recursos para ayudarte a controlar y gestionar tu actividad de juego.
8. Política de juego seguro: el casino tiene una política de juego seguro y trabaja activamente para prevenir el fraude, el lavado de dinero y otros delitos relacionados con el juego en línea.
En conclusión, sí es seguro jugar en Haz Casino en España, siempre y cuando sigas las recomendaciones anteriores y juegues de forma responsable.

Bonos y promociones en Haz Casino: cómo aprovecharlas al máximo

Si estás buscando aprovechar al máximo tus sesiones de juego en Haz Casino, ¡no puedes ignorar los bonos y promociones que ofrecen! A continuación, te ofrecemos 8 consejos en español sobre cómo maximizar tus beneficios en España:
1. Infórmate sobre los diferentes tipos de bonos y promociones que ofrece Haz Casino.
2. Lee atentamente los términos y condiciones de cada bono y promoción antes de aceptarlo.
3. Aprovecha los bonos de bienvenida para nuevos jugadores, ¡pueden duplicar tus ganancias desde el principio!
4. Participa en los torneos y competiciones que organiza el casino para ganar premios adicionales.
5. Aprovecha los programas de fidelidad y los bonos por Juega en Haz casino recarga para obtener recompensas continuas.
6. Utiliza los códigos promocionales que ofrece Haz Casino para obtener beneficios exclusivos.
7. Juega en los días y horarios en los que ofrecen bonos y promociones especiales.
8. Sé estratégico a la hora de aceptar bonos y promociones, ¡pueden marcar la diferencia en tus ganancias!

Experiencias de usuarios en Haz Casino: opiniones y reseñas honestas

Haz Casino es conocido por su gran selección de juegos de casino en línea, desde tragamonedas y juegos de mesa hasta juegos con crupier en vivo. Pero, ¿qué opinan los usuarios de España sobre su experiencia en el sitio?
La mayoría de los usuarios españoles elogian la facilidad de navegación y el diseño intuitivo del sitio web. Además, afirman que la variedad de juegos es impresionante y que siempre encuentran algo nuevo y emocionante para jugar.
Otro aspecto positivo que mencionan los jugadores españoles es la atención al cliente. Dicen que el equipo de soporte es amable, profesional y siempre está disponible para ayudar en caso de cualquier problema o pregunta.
Sin embargo, algunos usuarios han informado de retrasos en los pagos y han señalado que el proceso de verificación podría mejorarse. A pesar de estos pequeños inconvenientes, la mayoría de los jugadores españoles están satisfechos con su experiencia en Haz Casino.
En general, la experiencia de usuario en Haz Casino para España es positiva y recomendamos encarecidamente probarlo si estás buscando un casino en línea confiable y emocionante. Regístrate hoy y comienza tu aventura en el mundo del juego en línea.

¿Estás listo para adentrarte en el emocionante mundo del casino en línea?
Descubre Haz Casino, la mejor opción para jugar desde España.
¿Tienes dudas? ¡En nuestra sección de preguntas frecuentes resolvemos todas tus consultas sobre el apasionante universo del juego online!

Design and Develop by Ovatheme